Field of the Invention
The present invention relates to a method of determining a receiver time at the reception instant of a transmission time marker contained in received data elements. The method in general comprises the steps of storing a multiplicity of successively received data elements, storing a receiver time which corresponds to a data element reception instant, searching through the stored data elements for a transmission time marker, and determining the receiver time which corresponds to the reception instant of the transmission time marker, using the stored receiver time(s).
Data elements to be transmitted, such as, for example, audio and video data, are increasingly being digitized prior to data transmission. This format change has the advantage that the bandwidths of transmission channels can be kept narrow, and/or they can be utilized in an optimum manner, by employing digital data reduction and compression methods.
The digitized and, if appropriate, compressed data are formatted for transmission into packet- or stream-oriented data streams.
In order to assist the proper reconstruction of the data at the receiving end, the data can be provided at the transmitter end with additional information such as, for example, time markers and the like.
The formatting of data packets and the incorporation of time markers in audio and video transmission is defined in Part 1 of the MPEG2 Standard (ISO/IEC 13818), for example.
Time markers may be provided, for example, to synchronize a clock of a receiver (decoder) with that of a transmitter (encoder) (such that, for example, a picture or an audio excerpt can be output at the correct point in time) and/or in order to control the speed of the operating cycle in the receiver.
In order to synchronize the receiver clock, the receiver of the digitally coded data stream must extract from the incoming data stream the transmission time markers inserted by the transmitter and take them as a basis for readjusting the receiver clock, while taking account of the respective current value of the receiver clock (reception time markers).
The extraction of the transmission time markers requires a method which analyzes the data stream arriving at the receiver.
Such an analysis can be carried out by means of dedicated hardware. A programmable system can also be used as an alternative or in a supplementary manner.
The basic principle on which a system of this type operates is illustrated in the block diagram shown in FIG. 4.
The system shown in FIG. 4 comprises a transmitter S, a receiver E and a data transmission path D, via which data elements output by the transmitter are sent in the form of a data stream to the receiver. The receiver E receives the data and processes them further.
Transmission time markers are added to the data sent by the transmitter S. The time markers are generated by a transmitter clock 1 and are inserted by means of an encoder 2 to the data to be transmitted. In addition to inserting the transmission time markers, the encoder 2 may also compress the data to be transmitted, format the data to be transmitted in accordance with a predetermined transmission protocol, etc.
In the receiver E, the data stream transmitted by the transmitter passes into a decoder 12.
The decoder 12 recovers the data from the data stream. Furthermore, it filters the transmission time markers out of the received data stream and carries out a comparison to see whether these transmission time markers correspond to the reception time markers which have been respectively generated by a receiver clock 11 and likewise input into the decoder 12.
If there is no such correspondence, the receiver clock 11 is synchronized in accordance with an output signal of the decoder 12.
If the readjustment of the receiver clock 11 is repeated at sufficiently short intervals, it is always guaranteed that the transmitter clock 1 and the receiver clock 11 run synchronously.
In practice, however, this synchronization necessitates a considerable technical outlay, as will be explained in detail below. This is primarily due to the complicated recovery of the transmission time markers from the data stream received by the receiver.
A conventional method with which the transmission time markers are recovered from the data stream received by the receiver is the so-called scanning/parsing of the incoming data elements in real time.
A system for carrying out this method is shown in FIG. 5.
According to FIG. 5, the data stream transmitted to the receiver passes into a scanner/parser 21.
This scanner/parser 21 is constructed from hardware elements and/or implemented using a sufficiently fast programmable system.
While analyzing the data stream structure, the scanner/parser 21 successively checks, for all of the data elements of the data stream, whether the respectively current data element is a transmission time marker. The data elements and the additional information items extracted from the data stream are output as data to a further processing unit 22.
Even though the scanner/parser 21 is able to process the incoming data elements of the data stream in real time, the above-described checking nevertheless requires a certain amount of time. Furthermore, the transmission of data from the transmitter to the receiver also requires a certain amount of time.
The data output by the scanner/parser 21 to the further processing unit 22 therefore have a latency which corresponds to the sum of the above-mentioned time periods. It is assumed that the latency is constant with respect to time.
In addition to the data output by the scanner/parser 21, the reception times output by a receiver clock 23 and in the form of reception time markers are also input into the further processing unit 22.
In the further processing unit 22, the transmission time markers contained in the data are compared with the corresponding reception time markers. However, in this comparison account must accordingly be taken of the above-mentioned latency.
Depending on the comparison results, the further processing unit 22 can output a signal on the basis of which the receiver clock 23 is readjusted or on the basis of which signals based on the receiver time are correspondingly influenced.
The above-described scanner/parser 21 is technically extremely complicated to realize only because it must be able to analyze the incoming data stream, identifying its structure, in real time.
A system for readjusting the receiver clock, or for influencing the signals derived therefrom, in which real-time evaluation of the incoming data stream is not necessary is a programmable scanner/parser with data and reception time memories.
Where the scanner/parser is realized as a programmable unit (for example using a microcomputer or micro-controller) the fundamental advantage is attained that the scanner/parser can be adapted in a simple manner to differently structured data streams, which is not readily possible regularly with a purely hardware realization of the scanner/parser.
FIG. 6 shows a configuration containing a programmable scanner/parser with a data memory and reception time memory. According to FIG. 6, the incoming data stream flows into a data FIFO memory 31, in which the data elements (data words) of the data stream are successively stored.
A further FIFO memory in the form of a reception time FIFO memory 32 is provided in parallel with the data FIFO memory. Reception times output by a receiver clock 33 are stored in this reception time FIFO memory 32, which reception times are in the form of reception time markers that are respectively assigned to the data elements stored in the data FIFO memory.
Due to the fact that an assigned reception time marker is stored in the reception time FIFO memory 32 for each data element stored in the data FIFO memory 31, the two FIFO memories have the same depth.
The data elements and time markers stored in the FIFO memories may be subjected to further processing following a variable, indefinite time, depending on the depth of the FIFO memories and on the data transmission rate and pauses in the data transmission.
The data elements and time markers stored in the FIFO memories are then output to a programmable scanner/parser 34.
While analyzing the structure of the incoming data stream, the scanner/parser 34 once again checks every data element (in question) of the data stream as to whether it is a transmission time marker.
If a transmission time marker is found during this, it is compared with the reception time marker assigned to it.
Depending on the result of the comparison between the transmission time markers and the associated reception time markers (taking account of the latency), a signal which is not shown in FIG. 6 can be output, on the basis of which the receiver clock is readjusted or on the basis of which those signals which are based on the receiver clock are correspondingly influenced.
The time marker comparison and the evaluation of the comparison result are carried out in a further processing unit which follows the scanner/parser 34. The further processing unit 35 can be constructed separately or together with the scanner/parser 34 as a single unit.
The prior art method which will be described below with reference to FIG. 6 has the disadvantage that the FIFO memories used must have a considerable capacity, which makes the system for carrying out the method correspondingly expensive, large and susceptible to faults, owing to the substantial hardware outlay.